home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / hc / summariz.sit / Summarizer 1.7 / stack.txt < prev   
Text File  |  1988-03-18  |  10KB  |  329 lines

  1. -- stack: in.7
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x0 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 4
  11. -- first background id: 2737
  12. -- card count: 10
  13. -- first card id: 3853
  14. -- list block id: 2818
  15. -- print block id: 4650
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 55936 bytes
  21. -- stack block size: 9216 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x00000000
  24. -- modified by hypercard version: 0x00000000
  25. -- opened by hypercard version: 0x00000000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. on openstack
  69.   set userlevel to 5
  70.   hide menubar
  71.   get short name of this stack
  72.   put it into card field "stkname"
  73.   wait 3 seconds
  74.   go to card "ChptLstCrd"
  75. end openstack
  76.  
  77. on NoTpcCrd
  78.   global Chapt,ChptName
  79.   if the number of chars in ChptName > 35
  80.   then put char 1 to 35 of ChptName & "..." into ChptName
  81.   answer "A card is incorrectly named! or is missing!" with "OK"
  82.   answer ChptName && "=" && Chapt with "OK"
  83.   answer "Should Summarizer insert a card " && quote & Chapt & quote && "?" with "Cancel" or "OK"
  84.   if it is empty or it is "Cancel" then exit NoTpcCrd
  85.   set lockscreen to true
  86.   put MakeCard("TpcLstTmplt") into dummy
  87.   set the name of this card to Chapt
  88.   go to card "ChptLstCrd"
  89.   flash 2
  90.   put "Try going to card" && quote & Chapt & quote && "now."
  91.   wait 2 seconds
  92.   hide msg
  93. end NoTpcCrd
  94.  
  95. on NoNtCrd
  96.   global UserChoice,NtHeader
  97.   put short name of this card into WasHere
  98.   if the number of chars in NtHeader > 35
  99.   then put char 1 to 35 of NtHeader & "..." into NtHeader
  100.   answer "A card is incorrectly named! or is missing!" with "OK"
  101.   answer NtHeader && "=" && UserChoice with "OK"
  102.   type "f" with commandKey
  103.   type NtHeader
  104.   answer "Should Summarizer insert a card " && quote & UserChoice & quote && "?" with "Cancel" or "OK"
  105.   if it is empty or it is "Cancel" then exit NoNtCrd
  106.   set lockscreen to true
  107.   put MakeCard("NtTmplt") into dummy
  108.   set the name of this card to UserChoice
  109.   put Ntheader into field "HeaderFld"
  110.   flash 2
  111.   go to card WasHere
  112.   set lockscreen to false
  113.   put "Try going to card" && quote & UserChoice & quote && "now."
  114.   wait 2 seconds
  115.   hide msg
  116. end NoNtCrd
  117.  
  118. on domenu
  119.   global ptype
  120.   put the param of 1 into ptype
  121.   if ptype is "new background" then
  122.     answer "You cannot add backgrounds to this stack!" with "OK"
  123.     exit domenu
  124.   end if
  125.   if ptype is "copy card" or ptype is "paste card" or ptype is "cut card" then
  126.     answer "You are trying to cut/copy/paste a card!..." with "OK"
  127.     answer "Only Summarizer may cut/copy/paste cards!" with "OK"
  128.     exit domenu
  129.   end if
  130.   if ptype contains "paste" then
  131.     answer "About to" && ptype && "from clipboard" with "Cancel" or "OK"
  132.     if it is "Cancel" then exit domenu
  133.   end if
  134.   if ptype is "new card" or ptype is "delete card" then
  135.     get the name of the target
  136.     if it contains "button" or it contains "ChptLstFld" or it contains "TpcLstFld" then
  137.       pass domenu
  138.     else
  139.       answer "You are trying to make/delete a card!..." with "OK"
  140.       answer "Only Summarizer may make/delete cards!" with "OK"
  141.       exit domenu
  142.     end if
  143.   end if
  144.   if ptype is "cut " then
  145.     get the name of the target
  146.     if it contains "button" then
  147.       beep 1
  148.       answer "There must be graphics to cut!" with "OK"
  149.       exit domenu
  150.     else
  151.       answer "There is nothing selected to cut!"
  152.     end if
  153.   end if
  154.   pass domenu
  155. end domenu
  156.  
  157. on MakePage
  158.   put empty into NwCrd
  159.   put field "HeaderFld" into StrtCrdHeader
  160.   put short name of next card into RCard
  161.   put short name of this card into StrtCrd
  162.   set lockscreen to "true"
  163.   if RCard is "@" then
  164.     domenu "new card"
  165.     set name of this card to "@"
  166.     if StrtCrd is "@" then
  167.       put StrtCrdHeader into field "HeaderFld"
  168.     else
  169.       put "ΓǪ" && StrtCrdHeader && "Cont." into field "HeaderFld"
  170.     end if
  171.     put "true" into NwCrd
  172.   else
  173.     put "false" into NwCrd
  174.   end if
  175.   domenu "new button"
  176.   set name of button "new button" to "NxtPg"
  177.   set showname of button "NxtPg" to false
  178.   set rect of button "NxtPg" to 460, 0, 480, 17
  179.   set icon of button "NxtPg" to "sml Next Arrow"
  180.   set loc of button "NxtPg" to 460,8
  181.   set style of button "NxtPg" to opaque
  182.   set script of button "NxtPg" to "On mouseup" & return & "go to next card" & return & "if the number of card fields is 1 then" & return & "get rect of card field" && quote & "txtfld" & quote & return & "delete item 4 of it" & return & "delete item 3 of it" & return & "click at it" & return & "end if" & return & "end mouseup"
  183.   if not NwCrd then
  184.     domenu "new card"
  185.     set name of this card to "@"
  186.     if StrtCrd is "@" then
  187.       put StrtCrdHeader into field "HeaderFld"
  188.     else
  189.       put "ΓǪ" && StrtCrdHeader && "Cont." into field "HeaderFld"
  190.     end if
  191.   end if
  192.   domenu "new button"
  193.   set name of button "new button" to "PrvPg"
  194.   set showname of button "PrvPg" to false
  195.   set rect of button "PrvPg" to 481, 0, 501, 17
  196.   set icon of button "PrvPg" to "sml Prev Arrow"
  197.   set loc of button "PrvPg" to 481,8
  198.   set style of button "PrvPg" to opaque
  199.   set script of button "PrvPg" to "On mouseup" & return & "go to prev card" & return & "if the number of card fields is 1 then" & return & "get rect of card field" && quote & "txtfld" & quote & return & "delete item 4 of it" & return & "delete item 3 of it" & return & "click at it" & return & "end if" & return &"end mouseup"
  200.   choose browse tool
  201. end MakePage
  202.  
  203. on MakeField
  204.   global WindType
  205.   domenu "New field"
  206.   set name of card field "" to "TxtFld"
  207.   set rect of card field "TxtFld" to 19,18,512,342
  208.   if WindType is "Scroll"
  209.   then set Style of card field "TxtFld" to Scrolling
  210.   if WindType is "Reg Text"
  211.   then set Style of card field "Txtfld" to transparent
  212.   set textFont of card field "TxtFld" to geneva
  213.   set TextSize of card field "Txtfld" to 9
  214.   set locktext of card field "Txtfld" to false
  215.   set wideMargins of card field "Txtfld" to true
  216.   put IBeam("TxtFld") into dummy
  217. end MakeField
  218.  
  219. on SendTxtToFld
  220.   global Xit, flName
  221.   put False into Xit
  222.   answer "Stop entry of text..." with "at TAB" or "at RETURN" or "after ? chars"
  223.   put it into Delimiter
  224.   if delimiter is "after ? chars" then
  225.     beep 1
  226.     put "30,000 chars max for scroll/reg field!"
  227.     ask "Enter number of characters to read"
  228.     if it is empty then
  229.       hide msg
  230.       put true into Xit
  231.       exit SendTxtToFld
  232.     end if
  233.     put it into NumWds
  234.     hide msg
  235.     read from file flName for NumWds
  236.   end if
  237.   if delimiter is "at TAB"
  238.   then read from file flName until Tab
  239.   if delimiter is "at RETURN"
  240.   then read from file flName until Return
  241.   if it is empty then
  242.     beep 1
  243.     put "End of file!"
  244.     show msg
  245.     wait 2 seconds
  246.     hide msg
  247.     put true into Xit
  248.     exit SendTxtToFld
  249.   end if
  250.   put it after card field "TxtFld"
  251. end SendTxtToFld
  252.  
  253. function Bs10To26 Base10
  254. put 9999 into quotient
  255. put empty into Base26
  256. repeat while quotient is not 0
  257.   put Base10 div 26 into quotient
  258.   put NumToChar of (Base10 mod 26 + 65) before Base26
  259.   put quotient into Base10
  260. end repeat
  261. return Base26
  262. end Bs10To26
  263.  
  264. function MakeCard template
  265. go to card template
  266. domenu "new card"
  267. end MakeCard
  268.  
  269. function IBeam CrdFld
  270. choose browse tool
  271. set lockscreen to false
  272. get rect of card field CrdFld
  273. delete item 4 of it
  274. delete item 3 of it
  275. click at it
  276. end IBeam
  277.  
  278. function DelCards ChptNam
  279. go to card ChptNam
  280. put number of lines in field "TpcLstFld" into LstNum
  281. domenu "delete card"
  282. repeat with x = 1 to LstNum
  283.   go to card ChptNam & x
  284.   domenu "delete card"
  285.   repeat while short name of this card is "@"
  286.     domenu "delete card"
  287.   end repeat
  288. end repeat
  289. go to card "ChptLstCrd"
  290. end DelCards
  291.  
  292. function GetLnNum clkdItem, whichFld
  293. global NumChpt,XactMtch,Xit
  294. put false into Xit
  295. repeat with LnNum = 1 to NumChpt
  296.   if XactMtch then
  297.     if whichFld is "ChptLstFld" then
  298.       if clkdItem is line LnNum of card field "ChptLstFld" then
  299.         exit repeat
  300.       end if
  301.     else
  302.       if clkdItem is line LnNum of field "TpcLstFld" then
  303.         exit repeat
  304.       end if
  305.     end if
  306.   else
  307.     if whichFld is "ChptLstFld" then
  308.       if clkdItem is in line LnNum of card field "ChptLstFld" then
  309.         exit repeat
  310.       end if
  311.     else
  312.       if clkdItem is in line LnNum of field "TpcLstFld" then
  313.         exit repeat
  314.       end if
  315.     end if
  316.   end if
  317.   if LnNum is NumChpt then
  318.     beep 1
  319.     put quote & clkdItem & quote && "is not in the list!"
  320.     wait 2 seconds
  321.     hide msg
  322.     put true into Xit
  323.     exit GetLnNum
  324.   end if
  325. end repeat
  326. return LnNum
  327. end GetLnNum
  328.  
  329.